package com.tddx.activiti.utils;

import java.io.File;
import java.io.IOException;

import org.apache.log4j.Logger;


public class FileUtils extends org.apache.commons.io.FileUtils {
	
	private static Logger log = Logger.getLogger(FileUtils.class);
	
	/**
	 * 给文件夹里写内容
	 * @param fileName 文件名称
	 * @param content 内容
	 * @param encode "UTF-8"
	 */
	public static void writeStringToFile(String fileName, String content){
		
		try {
			writeStringToFile(new File(fileName), content, "UTF-8");
		} catch (IOException e) {
			e.printStackTrace();
			log.error("文件不存在");
		}
	}
	
	/**
	 * 给文件夹里写内容
	 * @param fileName 文件名称
	 * @param content 内容
	 * @param encode 编码
	 */
	public static void writeStringToFile(String fileName, String content, String encode){
		
		try {
			writeStringToFile(new File(fileName), content, encode);
		} catch (IOException e) {
			e.printStackTrace();
			log.error("文件不存在");
		}
		
	}
	
	/**
	 * 
	 * 路径不存在时，新建文件
	 * @param fileName 文件名
	 * @param b b为true,文件路径不存在报错（默认值），反之不存在也不报错
	 */
	public static File createFile(String fileName, boolean b){
		if(!b){
			String fileDir = fileName.substring(0, fileName.lastIndexOf("\\"));
			makeDir(fileDir);
		}
		return createFile(fileName);
	}
	
	/**
	 * 根据路径新建文件夹
	 * @param fileName
	 * 默认文件路径存在
	 * @return
	 */
	public static File createFile(String fileName){
		
		File file = new File(fileName);
		try {
			touch(file);
		} catch (IOException e) {
			e.printStackTrace();
			log.error("新建文件出错");
		}
		return file;
		
	}
	
	public static void makeDir(String fileName){
		try {
			forceMkdir(new File(fileName));
		} catch (IOException e) {
			e.printStackTrace();
			log.error("创建目录出错");
		}
	}
	
}
